Many communications devices, such as software-defined radios or similar electronic devices, include at least two processors each with their own binaries that are dependent on each other. These multiple processors exchange data and communicate with each other and depend on each other to operate the device. Each processor typically has its own independent channels to update the software to a specific or desired software version. For example, in a software-defined radio (SDR), analog signals are converted into the digital domain where the different functions of frequency generation, modulation, bandwidth, security and waveform requirements are performed by software modules or components in the software-defined radio. Analog signals are converted into the digital domain where these functions are performed using digital signal processing.
One class of software-defined radio that takes advantage of these above-described advantages and features is the Joint Tactical Radio (JTR). This type of radio system usually has at least two processors that are used for red and black side radio subsystems. Independent channels are operative at each processor for each subsystem and used to update the software to a specific software version. For example, the radio can be upgraded to a new software version in the field such as using over-the-air (OTA) updates. Updating the software independently within each processor with new software versions, however, can make the software in one of the processors incompatible with another software version contained in the other processor. In this situation, the red subsystem processor in a software-defined radio would be incompatible with the black subsystem processor that is to be upgraded or has already been updated and this incompatibility could create problems during radio operation.
Because of these possible errors in upgrading the software versions in different processors as part of different device or radio subsystems, for example, if there is accidental upgrade to incompatible versions, forced procedures for upgrade techniques and trained personnel are typically required to upgrade the software versions. When incompatible software versions exist, these trained personnel must repair the radio as necessary, making any software version upgrade expensive and time consuming Upgrading software versions may even require a trained technician taking the radio apart to perform the software upgrade. It is desirable if the programming of the two or more processors with an independent binary or software solution such as in a software-defined radio or similar electronic device with multiple processors in subsystems could be linked, for example, linking red and black processors in a Joint Tactical Radio that conforms with the Software Communications Architecture (SCA) of the Joint Tactical Radio System (JTRS) such that software version upgrades leading the incompatible versions could be avoided.